<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: pcl::Feature&lt; PointInT, PointOutT &gt; 模板类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classpcl_1_1_feature.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public 类型</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pro-methods">Protected 成员函数</a> &#124;
<a href="#pro-attribs">Protected 属性</a> &#124;
<a href="#pri-methods">Private 成员函数</a> &#124;
<a href="classpcl_1_1_feature-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">pcl::Feature&lt; PointInT, PointOutT &gt; 模板类 参考<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="classpcl_1_1_feature.html" title="Feature represents the base feature class. Some generic 3D operations that are applicable to all feat...">Feature</a> represents the base feature class. Some generic 3D operations that are applicable to all features are defined here as static methods.  
 <a href="classpcl_1_1_feature.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="feature_8h_source.html">feature.h</a>&gt;</code></p>
<div class="dynheader">
类 pcl::Feature&lt; PointInT, PointOutT &gt; 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classpcl_1_1_feature.png" usemap="#pcl::Feature_3C_20PointInT_2C_20PointOutT_20_3E_map" alt=""/>
  <map id="pcl::Feature_3C_20PointInT_2C_20PointOutT_20_3E_map" name="pcl::Feature_3C_20PointInT_2C_20PointOutT_20_3E_map">
<area href="classpcl_1_1_p_c_l_base.html" alt="pcl::PCLBase&lt; PointInT &gt;" shape="rect" coords="0,0,433,24"/>
<area href="classpcl_1_1_feature_from_normals.html" alt="pcl::FeatureFromNormals&lt; PointInT, PointNT, pcl::PFHRGBSignature250 &gt;" shape="rect" coords="443,112,876,136"/>
<area href="classpcl_1_1_feature_from_normals.html" alt="pcl::FeatureFromNormals&lt; PointInT, PointNT, pcl::FPFHSignature33 &gt;" shape="rect" coords="443,168,876,192"/>
<area href="classpcl_1_1_feature_from_normals.html" alt="pcl::FeatureFromNormals&lt; PointInT, PointNT, pcl::ShapeContext1980 &gt;" shape="rect" coords="443,224,876,248"/>
<area href="classpcl_1_1_feature_from_normals.html" alt="pcl::FeatureFromNormals&lt; PointInT, PointNT, pcl::VFHSignature308 &gt;" shape="rect" coords="443,280,876,304"/>
<area href="classpcl_1_1_feature_from_normals.html" alt="pcl::FeatureFromNormals&lt; PointInT, PointNT, pcl::Histogram&lt; 90 &gt; &gt;" shape="rect" coords="443,336,876,360"/>
<area href="classpcl_1_1_feature_from_normals.html" alt="pcl::FeatureFromNormals&lt; PointT, PointNT, PointFeature &gt;" shape="rect" coords="443,392,876,416"/>
<area href="classpcl_1_1_feature_from_normals.html" alt="pcl::FeatureFromNormals&lt; PointInT, PointNT, pcl::PrincipalCurvatures &gt;" shape="rect" coords="443,448,876,472"/>
<area href="classpcl_1_1_feature_from_normals.html" alt="pcl::FeatureFromNormals&lt; PointInT, PointNT, pcl::PFHSignature125 &gt;" shape="rect" coords="443,504,876,528"/>
<area href="classpcl_1_1_integral_image_normal_estimation.html" alt="pcl::IntegralImageNormalEstimation&lt; pcl::PointXYZRGBA, pcl::Normal &gt;" shape="rect" coords="443,560,876,584"/>
<area href="classpcl_1_1_normal_estimation.html" alt="pcl::NormalEstimation&lt; PointType, pcl::Normal &gt;" shape="rect" coords="443,616,876,640"/>
<area href="classpcl_1_1_difference_of_normals_estimation.html" title="A Difference of Normals (DoN) scale filter implementation for point cloud data." alt="pcl::DifferenceOfNormalsEstimation&lt; PointInT, PointNT, PointOutT &gt;" shape="rect" coords="443,672,876,696"/>
<area href="classpcl_1_1_feature_from_labels.html" alt="pcl::FeatureFromLabels&lt; PointInT, PointLT, PointOutT &gt;" shape="rect" coords="443,728,876,752"/>
<area href="classpcl_1_1_feature_from_normals.html" alt="pcl::FeatureFromNormals&lt; PointInT, PointNT, PointOutT &gt;" shape="rect" coords="443,784,876,808"/>
<area href="classpcl_1_1_integral_image_normal_estimation.html" title="Surface normal estimation on organized data using integral images." alt="pcl::IntegralImageNormalEstimation&lt; PointInT, PointOutT &gt;" shape="rect" coords="443,840,876,864"/>
<area href="classpcl_1_1_intensity_spin_estimation.html" title="IntensitySpinEstimation estimates the intensity-domain spin image descriptors for a given point cloud..." alt="pcl::IntensitySpinEstimation&lt; PointInT, PointOutT &gt;" shape="rect" coords="443,896,876,920"/>
<area href="classpcl_1_1_linear_least_squares_normal_estimation.html" title="Surface normal estimation on dense data using a least-squares estimation based on a first-order Taylo..." alt="pcl::LinearLeastSquaresNormalEstimation&lt; PointInT, PointOutT &gt;" shape="rect" coords="443,952,876,976"/>
<area href="classpcl_1_1_moment_invariants_estimation.html" title="MomentInvariantsEstimation estimates the 3 moment invariants (j1, j2, j3) at each 3D point." alt="pcl::MomentInvariantsEstimation&lt; PointInT, PointOutT &gt;" shape="rect" coords="443,1008,876,1032"/>
<area href="classpcl_1_1_normal_estimation.html" title="NormalEstimation estimates local surface properties (surface normals and curvatures)at each 3D point...." alt="pcl::NormalEstimation&lt; PointInT, PointOutT &gt;" shape="rect" coords="443,1064,876,1088"/>
<area href="classpcl_1_1_r_i_f_t_estimation.html" title="RIFTEstimation estimates the Rotation Invariant Feature Transform descriptors for a given point cloud..." alt="pcl::RIFTEstimation&lt; PointInT, GradientT, PointOutT &gt;" shape="rect" coords="443,1120,876,1144"/>
<area href="classpcl_1_1_r_o_p_s_estimation.html" title="This class implements the method for extracting RoPS features presented in the article &quot;Rotational Pr..." alt="pcl::ROPSEstimation&lt; PointInT, PointOutT &gt;" shape="rect" coords="443,1176,876,1200"/>
<area href="classpcl_1_1_spin_image_estimation.html" title="Estimates spin-image descriptors in the given input points." alt="pcl::SpinImageEstimation&lt; PointInT, PointNT, PointOutT &gt;" shape="rect" coords="443,1232,876,1256"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:a3c8f042de904356bb5ff24d9ad107950"><td class="memItemLeft" align="right" valign="top"><a id="a3c8f042de904356bb5ff24d9ad107950"></a>
typedef <a class="el" href="classpcl_1_1_p_c_l_base.html">PCLBase</a>&lt; PointInT &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>BaseClass</b></td></tr>
<tr class="separator:a3c8f042de904356bb5ff24d9ad107950"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c428fb881eb4e84bb0e2efda744ead0"><td class="memItemLeft" align="right" valign="top"><a id="a6c428fb881eb4e84bb0e2efda744ead0"></a>
typedef boost::shared_ptr&lt; <a class="el" href="classpcl_1_1_feature.html">Feature</a>&lt; PointInT, PointOutT &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Ptr</b></td></tr>
<tr class="separator:a6c428fb881eb4e84bb0e2efda744ead0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcfd3b4628399e8a514fd3359f7dd058"><td class="memItemLeft" align="right" valign="top"><a id="adcfd3b4628399e8a514fd3359f7dd058"></a>
typedef boost::shared_ptr&lt; const <a class="el" href="classpcl_1_1_feature.html">Feature</a>&lt; PointInT, PointOutT &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstPtr</b></td></tr>
<tr class="separator:adcfd3b4628399e8a514fd3359f7dd058"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83dcd0fa354ad1ece6d73317db9b8bd6"><td class="memItemLeft" align="right" valign="top"><a id="a83dcd0fa354ad1ece6d73317db9b8bd6"></a>
typedef <a class="el" href="classpcl_1_1search_1_1_search.html">pcl::search::Search</a>&lt; PointInT &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>KdTree</b></td></tr>
<tr class="separator:a83dcd0fa354ad1ece6d73317db9b8bd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29696730ac15a3c3e4a9de8e4b5a90c9"><td class="memItemLeft" align="right" valign="top"><a id="a29696730ac15a3c3e4a9de8e4b5a90c9"></a>
typedef <a class="el" href="classpcl_1_1search_1_1_search.html">pcl::search::Search</a>&lt; PointInT &gt;::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>KdTreePtr</b></td></tr>
<tr class="separator:a29696730ac15a3c3e4a9de8e4b5a90c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c115f612b715589fab0608cce875433"><td class="memItemLeft" align="right" valign="top"><a id="a0c115f612b715589fab0608cce875433"></a>
typedef <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; PointInT &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudIn</b></td></tr>
<tr class="separator:a0c115f612b715589fab0608cce875433"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af33a821de7f253b7f50b32b0dd7cdc4c"><td class="memItemLeft" align="right" valign="top"><a id="af33a821de7f253b7f50b32b0dd7cdc4c"></a>
typedef PointCloudIn::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudInPtr</b></td></tr>
<tr class="separator:af33a821de7f253b7f50b32b0dd7cdc4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8a51580ac161d5a4e221c4e364dbae4"><td class="memItemLeft" align="right" valign="top"><a id="ac8a51580ac161d5a4e221c4e364dbae4"></a>
typedef PointCloudIn::ConstPtr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudInConstPtr</b></td></tr>
<tr class="separator:ac8a51580ac161d5a4e221c4e364dbae4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52b2653f6f3b3cee1d0eb48e277db608"><td class="memItemLeft" align="right" valign="top"><a id="a52b2653f6f3b3cee1d0eb48e277db608"></a>
typedef <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; PointOutT &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudOut</b></td></tr>
<tr class="separator:a52b2653f6f3b3cee1d0eb48e277db608"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1762cf28ac0703007348077dd843626f"><td class="memItemLeft" align="right" valign="top"><a id="a1762cf28ac0703007348077dd843626f"></a>
typedef boost::function&lt; int(size_t, double, std::vector&lt; int &gt; &amp;, std::vector&lt; float &gt; &amp;)&gt;&#160;</td><td class="memItemRight" valign="bottom"><b>SearchMethod</b></td></tr>
<tr class="separator:a1762cf28ac0703007348077dd843626f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34f4d5bb61811e547d9523f6f355fab0"><td class="memItemLeft" align="right" valign="top"><a id="a34f4d5bb61811e547d9523f6f355fab0"></a>
typedef boost::function&lt; int(const <a class="el" href="classpcl_1_1_point_cloud.html">PointCloudIn</a> &amp;cloud, size_t index, double, std::vector&lt; int &gt; &amp;, std::vector&lt; float &gt; &amp;)&gt;&#160;</td><td class="memItemRight" valign="bottom"><b>SearchMethodSurface</b></td></tr>
<tr class="separator:a34f4d5bb61811e547d9523f6f355fab0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Public 类型 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:ae2f6f6863a73337858b7a7a054eaae4f inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ae2f6f6863a73337858b7a7a054eaae4f"></a>
typedef <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; PointInT &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloud</b></td></tr>
<tr class="separator:ae2f6f6863a73337858b7a7a054eaae4f inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab84dd662cda89edb882fe5307b2136ea inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ab84dd662cda89edb882fe5307b2136ea"></a>
typedef PointCloud::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudPtr</b></td></tr>
<tr class="separator:ab84dd662cda89edb882fe5307b2136ea inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8326513fad0680b6993e2f1a79a6af4 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ac8326513fad0680b6993e2f1a79a6af4"></a>
typedef PointCloud::ConstPtr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudConstPtr</b></td></tr>
<tr class="separator:ac8326513fad0680b6993e2f1a79a6af4 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae51eae0c7b3e0b7178f4894dff90660a inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ae51eae0c7b3e0b7178f4894dff90660a"></a>
typedef boost::shared_ptr&lt; <a class="el" href="structpcl_1_1_point_indices.html">PointIndices</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointIndicesPtr</b></td></tr>
<tr class="separator:ae51eae0c7b3e0b7178f4894dff90660a inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51771056fb4ab8c448a11157acbe2ee0 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a51771056fb4ab8c448a11157acbe2ee0"></a>
typedef boost::shared_ptr&lt; <a class="el" href="structpcl_1_1_point_indices.html">PointIndices</a> const &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointIndicesConstPtr</b></td></tr>
<tr class="separator:a51771056fb4ab8c448a11157acbe2ee0 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a96497e27e1087c0b1e07c8ae84aea152"><td class="memItemLeft" align="right" valign="top"><a id="a96497e27e1087c0b1e07c8ae84aea152"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#a96497e27e1087c0b1e07c8ae84aea152">Feature</a> ()</td></tr>
<tr class="memdesc:a96497e27e1087c0b1e07c8ae84aea152"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor. <br /></td></tr>
<tr class="separator:a96497e27e1087c0b1e07c8ae84aea152"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a147e6286fc98646910c4b6751278038f"><td class="memItemLeft" align="right" valign="top"><a id="a147e6286fc98646910c4b6751278038f"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#a147e6286fc98646910c4b6751278038f">~Feature</a> ()</td></tr>
<tr class="memdesc:a147e6286fc98646910c4b6751278038f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty destructor <br /></td></tr>
<tr class="separator:a147e6286fc98646910c4b6751278038f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14fbb05e0e8f1d1ec766a50353f3c224"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#a14fbb05e0e8f1d1ec766a50353f3c224">setSearchSurface</a> (const PointCloudInConstPtr &amp;cloud)</td></tr>
<tr class="memdesc:a14fbb05e0e8f1d1ec766a50353f3c224"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to a dataset to add additional information to estimate the features for every point in the input dataset. This is optional, if this is not set, it will only use the data in the input cloud to estimate the features. This is useful when you only need to compute the features for a downsampled cloud.  <a href="classpcl_1_1_feature.html#a14fbb05e0e8f1d1ec766a50353f3c224">更多...</a><br /></td></tr>
<tr class="separator:a14fbb05e0e8f1d1ec766a50353f3c224"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09320ff2025be07c1e4a378d88588e8d"><td class="memItemLeft" align="right" valign="top"><a id="a09320ff2025be07c1e4a378d88588e8d"></a>
PointCloudInConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#a09320ff2025be07c1e4a378d88588e8d">getSearchSurface</a> () const</td></tr>
<tr class="memdesc:a09320ff2025be07c1e4a378d88588e8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the surface point cloud dataset. <br /></td></tr>
<tr class="separator:a09320ff2025be07c1e4a378d88588e8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace1caca622f06eee8ad1911228324792"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#ace1caca622f06eee8ad1911228324792">setSearchMethod</a> (const KdTreePtr &amp;tree)</td></tr>
<tr class="memdesc:ace1caca622f06eee8ad1911228324792"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the search object.  <a href="classpcl_1_1_feature.html#ace1caca622f06eee8ad1911228324792">更多...</a><br /></td></tr>
<tr class="separator:ace1caca622f06eee8ad1911228324792"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc850056d252306c48c481e4bbee1821"><td class="memItemLeft" align="right" valign="top"><a id="acc850056d252306c48c481e4bbee1821"></a>
KdTreePtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#acc850056d252306c48c481e4bbee1821">getSearchMethod</a> () const</td></tr>
<tr class="memdesc:acc850056d252306c48c481e4bbee1821"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the search method used. <br /></td></tr>
<tr class="separator:acc850056d252306c48c481e4bbee1821"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86004b18e77cc0c38a1a33fbd43fb760"><td class="memItemLeft" align="right" valign="top"><a id="a86004b18e77cc0c38a1a33fbd43fb760"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#a86004b18e77cc0c38a1a33fbd43fb760">getSearchParameter</a> () const</td></tr>
<tr class="memdesc:a86004b18e77cc0c38a1a33fbd43fb760"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the internal search parameter. <br /></td></tr>
<tr class="separator:a86004b18e77cc0c38a1a33fbd43fb760"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50129bc51cb240eca42df9963f7ac0c0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#a50129bc51cb240eca42df9963f7ac0c0">setKSearch</a> (int k)</td></tr>
<tr class="memdesc:a50129bc51cb240eca42df9963f7ac0c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the number of k nearest neighbors to use for the feature estimation.  <a href="classpcl_1_1_feature.html#a50129bc51cb240eca42df9963f7ac0c0">更多...</a><br /></td></tr>
<tr class="separator:a50129bc51cb240eca42df9963f7ac0c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94cce071beee358359b14db2edcc62ae"><td class="memItemLeft" align="right" valign="top"><a id="a94cce071beee358359b14db2edcc62ae"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#a94cce071beee358359b14db2edcc62ae">getKSearch</a> () const</td></tr>
<tr class="memdesc:a94cce071beee358359b14db2edcc62ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the number of k nearest neighbors used for the feature estimation. <br /></td></tr>
<tr class="separator:a94cce071beee358359b14db2edcc62ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44829319486a2dc415a4e068dc55c577"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#a44829319486a2dc415a4e068dc55c577">setRadiusSearch</a> (double radius)</td></tr>
<tr class="memdesc:a44829319486a2dc415a4e068dc55c577"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the sphere radius that is to be used for determining the nearest neighbors used for the feature estimation.  <a href="classpcl_1_1_feature.html#a44829319486a2dc415a4e068dc55c577">更多...</a><br /></td></tr>
<tr class="separator:a44829319486a2dc415a4e068dc55c577"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac62f459672f3ca0e986e495a9220b268"><td class="memItemLeft" align="right" valign="top"><a id="ac62f459672f3ca0e986e495a9220b268"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#ac62f459672f3ca0e986e495a9220b268">getRadiusSearch</a> () const</td></tr>
<tr class="memdesc:ac62f459672f3ca0e986e495a9220b268"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the sphere radius used for determining the neighbors. <br /></td></tr>
<tr class="separator:ac62f459672f3ca0e986e495a9220b268"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5b1fa9612da40e738b1d99252c5ff2f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#ad5b1fa9612da40e738b1d99252c5ff2f">compute</a> (<a class="el" href="classpcl_1_1_point_cloud.html">PointCloudOut</a> &amp;output)</td></tr>
<tr class="memdesc:ad5b1fa9612da40e738b1d99252c5ff2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base method for feature estimation for all points given in &lt;setInputCloud (), setIndices ()&gt; using the surface in setSearchSurface () and the spatial locator in setSearchMethod ()  <a href="classpcl_1_1_feature.html#ad5b1fa9612da40e738b1d99252c5ff2f">更多...</a><br /></td></tr>
<tr class="separator:ad5b1fa9612da40e738b1d99252c5ff2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:af4fbc5eb005057f8a0fc6d60bde595df inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="af4fbc5eb005057f8a0fc6d60bde595df"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#af4fbc5eb005057f8a0fc6d60bde595df">PCLBase</a> ()</td></tr>
<tr class="memdesc:af4fbc5eb005057f8a0fc6d60bde595df inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor. <br /></td></tr>
<tr class="separator:af4fbc5eb005057f8a0fc6d60bde595df inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a6dd7a91275d7737cf1b18005b47244 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a7a6dd7a91275d7737cf1b18005b47244"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a7a6dd7a91275d7737cf1b18005b47244">PCLBase</a> (const <a class="el" href="classpcl_1_1_p_c_l_base.html">PCLBase</a> &amp;base)</td></tr>
<tr class="memdesc:a7a6dd7a91275d7737cf1b18005b47244 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br /></td></tr>
<tr class="separator:a7a6dd7a91275d7737cf1b18005b47244 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5d6846e98e59c37dcc3dc9958d53966 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ad5d6846e98e59c37dcc3dc9958d53966"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#ad5d6846e98e59c37dcc3dc9958d53966">~PCLBase</a> ()</td></tr>
<tr class="memdesc:ad5d6846e98e59c37dcc3dc9958d53966 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:ad5d6846e98e59c37dcc3dc9958d53966 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1952d7101f3942bac3b69ed55c1ca7ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a1952d7101f3942bac3b69ed55c1ca7ea">setInputCloud</a> (const PointCloudConstPtr &amp;cloud)</td></tr>
<tr class="memdesc:a1952d7101f3942bac3b69ed55c1ca7ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the input dataset  <a href="classpcl_1_1_p_c_l_base.html#a1952d7101f3942bac3b69ed55c1ca7ea">更多...</a><br /></td></tr>
<tr class="separator:a1952d7101f3942bac3b69ed55c1ca7ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cd745c4f7a792212f4fc3720b9d46ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a8cd745c4f7a792212f4fc3720b9d46ea"></a>
PointCloudConstPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a8cd745c4f7a792212f4fc3720b9d46ea">getInputCloud</a> () const</td></tr>
<tr class="memdesc:a8cd745c4f7a792212f4fc3720b9d46ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the input point cloud dataset. <br /></td></tr>
<tr class="separator:a8cd745c4f7a792212f4fc3720b9d46ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab219359de6eb34c9d51e2e976dd1a0d1 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#ab219359de6eb34c9d51e2e976dd1a0d1">setIndices</a> (const IndicesPtr &amp;indices)</td></tr>
<tr class="memdesc:ab219359de6eb34c9d51e2e976dd1a0d1 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represents the input data.  <a href="classpcl_1_1_p_c_l_base.html#ab219359de6eb34c9d51e2e976dd1a0d1">更多...</a><br /></td></tr>
<tr class="separator:ab219359de6eb34c9d51e2e976dd1a0d1 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a436c68c74b31e4dd00000adfbb11ca7c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a436c68c74b31e4dd00000adfbb11ca7c">setIndices</a> (const IndicesConstPtr &amp;indices)</td></tr>
<tr class="memdesc:a436c68c74b31e4dd00000adfbb11ca7c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represents the input data.  <a href="classpcl_1_1_p_c_l_base.html#a436c68c74b31e4dd00000adfbb11ca7c">更多...</a><br /></td></tr>
<tr class="separator:a436c68c74b31e4dd00000adfbb11ca7c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9cc90d8364ce968566f75800d3773ca inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#af9cc90d8364ce968566f75800d3773ca">setIndices</a> (const PointIndicesConstPtr &amp;indices)</td></tr>
<tr class="memdesc:af9cc90d8364ce968566f75800d3773ca inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represents the input data.  <a href="classpcl_1_1_p_c_l_base.html#af9cc90d8364ce968566f75800d3773ca">更多...</a><br /></td></tr>
<tr class="separator:af9cc90d8364ce968566f75800d3773ca inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a930c7a6375fdf65ff8cfdb4eb4a6d996 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a930c7a6375fdf65ff8cfdb4eb4a6d996">setIndices</a> (size_t row_start, size_t col_start, size_t nb_rows, size_t nb_cols)</td></tr>
<tr class="memdesc:a930c7a6375fdf65ff8cfdb4eb4a6d996 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the indices for the points laying within an interest region of the point cloud.  <a href="classpcl_1_1_p_c_l_base.html#a930c7a6375fdf65ff8cfdb4eb4a6d996">更多...</a><br /></td></tr>
<tr class="separator:a930c7a6375fdf65ff8cfdb4eb4a6d996 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a058753dd4de73d3d0062fe2e452fba3c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a058753dd4de73d3d0062fe2e452fba3c"></a>
IndicesPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a058753dd4de73d3d0062fe2e452fba3c">getIndices</a> ()</td></tr>
<tr class="memdesc:a058753dd4de73d3d0062fe2e452fba3c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of indices used. <br /></td></tr>
<tr class="separator:a058753dd4de73d3d0062fe2e452fba3c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acae187b37230758959572ceb1e6e2045 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="acae187b37230758959572ceb1e6e2045"></a>
IndicesConstPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#acae187b37230758959572ceb1e6e2045">getIndices</a> () const</td></tr>
<tr class="memdesc:acae187b37230758959572ceb1e6e2045 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of indices used. <br /></td></tr>
<tr class="separator:acae187b37230758959572ceb1e6e2045 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7335fedb0af0930b9d1dedcb54ba201 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">const PointInT &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#af7335fedb0af0930b9d1dedcb54ba201">operator[]</a> (size_t pos) const</td></tr>
<tr class="memdesc:af7335fedb0af0930b9d1dedcb54ba201 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override PointCloud operator[] to shorten code  <a href="classpcl_1_1_p_c_l_base.html#af7335fedb0af0930b9d1dedcb54ba201">更多...</a><br /></td></tr>
<tr class="separator:af7335fedb0af0930b9d1dedcb54ba201 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected 成员函数</h2></td></tr>
<tr class="memitem:ae6b4d5717999b6267a670dc704146fdc"><td class="memItemLeft" align="right" valign="top"><a id="ae6b4d5717999b6267a670dc704146fdc"></a>
const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#ae6b4d5717999b6267a670dc704146fdc">getClassName</a> () const</td></tr>
<tr class="memdesc:ae6b4d5717999b6267a670dc704146fdc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a string representation of the name of this class. <br /></td></tr>
<tr class="separator:ae6b4d5717999b6267a670dc704146fdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cd0857bae8a4ac67a961d98d9eacde5"><td class="memItemLeft" align="right" valign="top"><a id="a2cd0857bae8a4ac67a961d98d9eacde5"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#a2cd0857bae8a4ac67a961d98d9eacde5">initCompute</a> ()</td></tr>
<tr class="memdesc:a2cd0857bae8a4ac67a961d98d9eacde5"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should get called before starting the actual computation. <br /></td></tr>
<tr class="separator:a2cd0857bae8a4ac67a961d98d9eacde5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab235b6b76033922b19aae91714d7e413"><td class="memItemLeft" align="right" valign="top"><a id="ab235b6b76033922b19aae91714d7e413"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#ab235b6b76033922b19aae91714d7e413">deinitCompute</a> ()</td></tr>
<tr class="memdesc:ab235b6b76033922b19aae91714d7e413"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should get called after ending the actual computation. <br /></td></tr>
<tr class="separator:ab235b6b76033922b19aae91714d7e413"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7d2ff6f0db4d63a74a3e01ad2b1f9ab"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#aa7d2ff6f0db4d63a74a3e01ad2b1f9ab">searchForNeighbors</a> (size_t index, double parameter, std::vector&lt; int &gt; &amp;indices, std::vector&lt; float &gt; &amp;distances) const</td></tr>
<tr class="memdesc:aa7d2ff6f0db4d63a74a3e01ad2b1f9ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Search for k-nearest neighbors using the spatial locator from <em>setSearchmethod</em>, and the given surface from <em>setSearchSurface</em>.  <a href="classpcl_1_1_feature.html#aa7d2ff6f0db4d63a74a3e01ad2b1f9ab">更多...</a><br /></td></tr>
<tr class="separator:aa7d2ff6f0db4d63a74a3e01ad2b1f9ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9422bdfb7074f73019e32d55eeda73bb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#a9422bdfb7074f73019e32d55eeda73bb">searchForNeighbors</a> (const <a class="el" href="classpcl_1_1_point_cloud.html">PointCloudIn</a> &amp;cloud, size_t index, double parameter, std::vector&lt; int &gt; &amp;indices, std::vector&lt; float &gt; &amp;distances) const</td></tr>
<tr class="memdesc:a9422bdfb7074f73019e32d55eeda73bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Search for k-nearest neighbors using the spatial locator from <em>setSearchmethod</em>, and the given surface from <em>setSearchSurface</em>.  <a href="classpcl_1_1_feature.html#a9422bdfb7074f73019e32d55eeda73bb">更多...</a><br /></td></tr>
<tr class="separator:a9422bdfb7074f73019e32d55eeda73bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Protected 成员函数 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:acceb20854934f4cf77e266eb5a44d4f0 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#acceb20854934f4cf77e266eb5a44d4f0">initCompute</a> ()</td></tr>
<tr class="memdesc:acceb20854934f4cf77e266eb5a44d4f0 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should get called before starting the actual computation.  <a href="classpcl_1_1_p_c_l_base.html#acceb20854934f4cf77e266eb5a44d4f0">更多...</a><br /></td></tr>
<tr class="separator:acceb20854934f4cf77e266eb5a44d4f0 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc426c4eebb94b7734d4fa556bff1420 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="afc426c4eebb94b7734d4fa556bff1420"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#afc426c4eebb94b7734d4fa556bff1420">deinitCompute</a> ()</td></tr>
<tr class="memdesc:afc426c4eebb94b7734d4fa556bff1420 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should get called after finishing the actual computation. <br /></td></tr>
<tr class="separator:afc426c4eebb94b7734d4fa556bff1420 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected 属性</h2></td></tr>
<tr class="memitem:a54032b79551164878ff59ed93b5c1dc5"><td class="memItemLeft" align="right" valign="top"><a id="a54032b79551164878ff59ed93b5c1dc5"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#a54032b79551164878ff59ed93b5c1dc5">feature_name_</a></td></tr>
<tr class="memdesc:a54032b79551164878ff59ed93b5c1dc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">The feature name. <br /></td></tr>
<tr class="separator:a54032b79551164878ff59ed93b5c1dc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2d27cdd139bd79335008303cf68ba82"><td class="memItemLeft" align="right" valign="top"><a id="af2d27cdd139bd79335008303cf68ba82"></a>
SearchMethodSurface&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#af2d27cdd139bd79335008303cf68ba82">search_method_surface_</a></td></tr>
<tr class="memdesc:af2d27cdd139bd79335008303cf68ba82"><td class="mdescLeft">&#160;</td><td class="mdescRight">The search method template for points. <br /></td></tr>
<tr class="separator:af2d27cdd139bd79335008303cf68ba82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98f8c497ac78cf49d9274c3ab5fe52df"><td class="memItemLeft" align="right" valign="top"><a id="a98f8c497ac78cf49d9274c3ab5fe52df"></a>
PointCloudInConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#a98f8c497ac78cf49d9274c3ab5fe52df">surface_</a></td></tr>
<tr class="memdesc:a98f8c497ac78cf49d9274c3ab5fe52df"><td class="mdescLeft">&#160;</td><td class="mdescRight">An input point cloud describing the surface that is to be used for nearest neighbors estimation. <br /></td></tr>
<tr class="separator:a98f8c497ac78cf49d9274c3ab5fe52df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ce882e12198b2b2373cc31ba27b0ef1"><td class="memItemLeft" align="right" valign="top"><a id="a7ce882e12198b2b2373cc31ba27b0ef1"></a>
KdTreePtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#a7ce882e12198b2b2373cc31ba27b0ef1">tree_</a></td></tr>
<tr class="memdesc:a7ce882e12198b2b2373cc31ba27b0ef1"><td class="mdescLeft">&#160;</td><td class="mdescRight">A pointer to the spatial search object. <br /></td></tr>
<tr class="separator:a7ce882e12198b2b2373cc31ba27b0ef1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d21af8f0a11aa224026f6bb8e3060e7"><td class="memItemLeft" align="right" valign="top"><a id="a0d21af8f0a11aa224026f6bb8e3060e7"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#a0d21af8f0a11aa224026f6bb8e3060e7">search_parameter_</a></td></tr>
<tr class="memdesc:a0d21af8f0a11aa224026f6bb8e3060e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The actual search parameter (from either <em>search_radius_</em> or <em>k_</em>). <br /></td></tr>
<tr class="separator:a0d21af8f0a11aa224026f6bb8e3060e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c52e9b0412b8ce790837b24cd99f0af"><td class="memItemLeft" align="right" valign="top"><a id="a2c52e9b0412b8ce790837b24cd99f0af"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#a2c52e9b0412b8ce790837b24cd99f0af">search_radius_</a></td></tr>
<tr class="memdesc:a2c52e9b0412b8ce790837b24cd99f0af"><td class="mdescLeft">&#160;</td><td class="mdescRight">The nearest neighbors search radius for each point. <br /></td></tr>
<tr class="separator:a2c52e9b0412b8ce790837b24cd99f0af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f68793061ef0973bdacfea56cf5ae21"><td class="memItemLeft" align="right" valign="top"><a id="a3f68793061ef0973bdacfea56cf5ae21"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#a3f68793061ef0973bdacfea56cf5ae21">k_</a></td></tr>
<tr class="memdesc:a3f68793061ef0973bdacfea56cf5ae21"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of K nearest neighbors to use for each point. <br /></td></tr>
<tr class="separator:a3f68793061ef0973bdacfea56cf5ae21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa08fc132189062dabfa291701fa46440"><td class="memItemLeft" align="right" valign="top"><a id="aa08fc132189062dabfa291701fa46440"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#aa08fc132189062dabfa291701fa46440">fake_surface_</a></td></tr>
<tr class="memdesc:aa08fc132189062dabfa291701fa46440"><td class="mdescLeft">&#160;</td><td class="mdescRight">If no surface is given, we use the input <a class="el" href="classpcl_1_1_point_cloud.html" title="PointCloud represents the base class in PCL for storing collections of 3D points.">PointCloud</a> as the surface. <br /></td></tr>
<tr class="separator:aa08fc132189062dabfa291701fa46440"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Protected 属性 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:a09c70d8e06e3fb4f07903fe6f8d67869 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a09c70d8e06e3fb4f07903fe6f8d67869"></a>
PointCloudConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a></td></tr>
<tr class="memdesc:a09c70d8e06e3fb4f07903fe6f8d67869 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The input point cloud dataset. <br /></td></tr>
<tr class="separator:a09c70d8e06e3fb4f07903fe6f8d67869 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaee847c8a517ebf365bad2cb182a6626 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="aaee847c8a517ebf365bad2cb182a6626"></a>
IndicesPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#aaee847c8a517ebf365bad2cb182a6626">indices_</a></td></tr>
<tr class="memdesc:aaee847c8a517ebf365bad2cb182a6626 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">A pointer to the vector of point indices to use. <br /></td></tr>
<tr class="separator:aaee847c8a517ebf365bad2cb182a6626 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada1eadb824d34ca9206a86343d9760bb inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ada1eadb824d34ca9206a86343d9760bb"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#ada1eadb824d34ca9206a86343d9760bb">use_indices_</a></td></tr>
<tr class="memdesc:ada1eadb824d34ca9206a86343d9760bb inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to true if point indices are used. <br /></td></tr>
<tr class="separator:ada1eadb824d34ca9206a86343d9760bb inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adadb0299f144528020ed558af6879662 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="adadb0299f144528020ed558af6879662"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#adadb0299f144528020ed558af6879662">fake_indices_</a></td></tr>
<tr class="memdesc:adadb0299f144528020ed558af6879662 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. <br /></td></tr>
<tr class="separator:adadb0299f144528020ed558af6879662 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private 成员函数</h2></td></tr>
<tr class="memitem:ace6344a05ab920294e725ef503cac0c0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_feature.html#ace6344a05ab920294e725ef503cac0c0">computeFeature</a> (<a class="el" href="classpcl_1_1_point_cloud.html">PointCloudOut</a> &amp;output)=0</td></tr>
<tr class="memdesc:ace6344a05ab920294e725ef503cac0c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract feature estimation method.  <a href="classpcl_1_1_feature.html#ace6344a05ab920294e725ef503cac0c0">更多...</a><br /></td></tr>
<tr class="separator:ace6344a05ab920294e725ef503cac0c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><h3>template&lt;typename PointInT, typename PointOutT&gt;<br />
class pcl::Feature&lt; PointInT, PointOutT &gt;</h3>

<p><a class="el" href="classpcl_1_1_feature.html" title="Feature represents the base feature class. Some generic 3D operations that are applicable to all feat...">Feature</a> represents the base feature class. Some generic 3D operations that are applicable to all features are defined here as static methods. </p>
<dl class="section attention"><dt>注意</dt><dd>The convention for a feature descriptor is:<ul>
<li>if the nearest neighbors for the query point at which the descriptor is to be computed cannot be determined, the descriptor values will be set to NaN (not a number)</li>
<li>it is impossible to estimate a feature descriptor for a point that doesn't have finite 3D coordinates. Therefore, any point that has NaN data on x, y, or z, will most likely have its descriptor set to NaN.</li>
</ul>
</dd></dl>
<dl class="section author"><dt>作者</dt><dd>Radu B. Rusu </dd></dl>
</div><h2 class="groupheader">成员函数说明</h2>
<a id="ad5b1fa9612da40e738b1d99252c5ff2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5b1fa9612da40e738b1d99252c5ff2f">&#9670;&nbsp;</a></span>compute()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT , typename PointOutT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_feature.html">pcl::Feature</a>&lt; PointInT, PointOutT &gt;::compute </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">PointCloudOut</a> &amp;&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Base method for feature estimation for all points given in &lt;setInputCloud (), setIndices ()&gt; using the surface in setSearchSurface () and the spatial locator in setSearchMethod () </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>the resultant point cloud model dataset containing the estimated features </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;{</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;  <span class="keywordflow">if</span> (!<a class="code" href="classpcl_1_1_feature.html#a2cd0857bae8a4ac67a961d98d9eacde5">initCompute</a> ())</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;  {</div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    output.width = output.height = 0;</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    output.points.clear ();</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;  }</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160; </div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  <span class="comment">// Copy the header</span></div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;  output.header = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;header;</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160; </div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;  <span class="comment">// Resize the output dataset</span></div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;  <span class="keywordflow">if</span> (output.points.size () != <a class="code" href="classpcl_1_1_p_c_l_base.html#aaee847c8a517ebf365bad2cb182a6626">indices_</a>-&gt;size ())</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    output.points.resize (<a class="code" href="classpcl_1_1_p_c_l_base.html#aaee847c8a517ebf365bad2cb182a6626">indices_</a>-&gt;size ());</div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160; </div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;  <span class="comment">// Check if the output will be computed for all points or only a subset</span></div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  <span class="comment">// If the input width or height are not set, set output width as size</span></div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_p_c_l_base.html#aaee847c8a517ebf365bad2cb182a6626">indices_</a>-&gt;size () != <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points.size () || <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width * <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;height == 0)</div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  {</div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    output.width = <span class="keyword">static_cast&lt;</span>uint32_t<span class="keyword">&gt;</span> (<a class="code" href="classpcl_1_1_p_c_l_base.html#aaee847c8a517ebf365bad2cb182a6626">indices_</a>-&gt;size ());</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    output.height = 1;</div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  }</div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;  <span class="keywordflow">else</span></div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;  {</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    output.width = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width;</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    output.height = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;height;</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  }</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  output.is_dense = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;is_dense;</div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160; </div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;  <span class="comment">// Perform the actual feature computation</span></div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;  <a class="code" href="classpcl_1_1_feature.html#ace6344a05ab920294e725ef503cac0c0">computeFeature</a> (output);</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160; </div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;  <a class="code" href="classpcl_1_1_feature.html#ab235b6b76033922b19aae91714d7e413">deinitCompute</a> ();</div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_feature_html_a2cd0857bae8a4ac67a961d98d9eacde5"><div class="ttname"><a href="classpcl_1_1_feature.html#a2cd0857bae8a4ac67a961d98d9eacde5">pcl::Feature::initCompute</a></div><div class="ttdeci">virtual bool initCompute()</div><div class="ttdoc">This method should get called before starting the actual computation.</div><div class="ttdef"><b>Definition:</b> feature.hpp:93</div></div>
<div class="ttc" id="aclasspcl_1_1_feature_html_ab235b6b76033922b19aae91714d7e413"><div class="ttname"><a href="classpcl_1_1_feature.html#ab235b6b76033922b19aae91714d7e413">pcl::Feature::deinitCompute</a></div><div class="ttdeci">virtual bool deinitCompute()</div><div class="ttdoc">This method should get called after ending the actual computation.</div><div class="ttdef"><b>Definition:</b> feature.hpp:176</div></div>
<div class="ttc" id="aclasspcl_1_1_feature_html_ace6344a05ab920294e725ef503cac0c0"><div class="ttname"><a href="classpcl_1_1_feature.html#ace6344a05ab920294e725ef503cac0c0">pcl::Feature::computeFeature</a></div><div class="ttdeci">virtual void computeFeature(PointCloudOut &amp;output)=0</div><div class="ttdoc">Abstract feature estimation method.</div></div>
<div class="ttc" id="aclasspcl_1_1_p_c_l_base_html_a09c70d8e06e3fb4f07903fe6f8d67869"><div class="ttname"><a href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">pcl::PCLBase&lt; PointInT &gt;::input_</a></div><div class="ttdeci">PointCloudConstPtr input_</div><div class="ttdoc">The input point cloud dataset.</div><div class="ttdef"><b>Definition:</b> pcl_base.h:150</div></div>
<div class="ttc" id="aclasspcl_1_1_p_c_l_base_html_aaee847c8a517ebf365bad2cb182a6626"><div class="ttname"><a href="classpcl_1_1_p_c_l_base.html#aaee847c8a517ebf365bad2cb182a6626">pcl::PCLBase&lt; PointInT &gt;::indices_</a></div><div class="ttdeci">IndicesPtr indices_</div><div class="ttdoc">A pointer to the vector of point indices to use.</div><div class="ttdef"><b>Definition:</b> pcl_base.h:153</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ace6344a05ab920294e725ef503cac0c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace6344a05ab920294e725ef503cac0c0">&#9670;&nbsp;</a></span>computeFeature()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT , typename PointOutT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classpcl_1_1_feature.html">pcl::Feature</a>&lt; PointInT, PointOutT &gt;::computeFeature </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">PointCloudOut</a> &amp;&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Abstract feature estimation method. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>the resultant features </td></tr>
  </table>
  </dd>
</dl>

<p>在 <a class="el" href="classpcl_1_1_v_f_h_estimation.html#aed492d159e745303356149a340d9057f">pcl::VFHEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_spin_image_estimation.html#ab09ec6b20fc126a9e2f1ab19fee51286">pcl::SpinImageEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_s_h_o_t_color_estimation_o_m_p.html#ae99a7fee7fb43916a699a06d878f3814">pcl::SHOTColorEstimationOMP&lt; PointInT, PointNT, PointOutT, PointRFT &gt;</a>, <a class="el" href="classpcl_1_1_s_h_o_t_estimation_o_m_p.html#a0513fdc113b6c5612cb23b15a6af0a51">pcl::SHOTEstimationOMP&lt; PointInT, PointNT, PointOutT, PointRFT &gt;</a>, <a class="el" href="classpcl_1_1_r_s_d_estimation.html#a1b4ed079e1fb2250fd6301c0f1f4da56">pcl::RSDEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_r_o_p_s_estimation.html#aeb544fb3ab03bd371df9b407ff3ff22f">pcl::ROPSEstimation&lt; PointInT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_r_i_f_t_estimation.html#a4b8311e9ec8f927963263385ca266d27">pcl::RIFTEstimation&lt; PointInT, GradientT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_range_image_border_extractor.html#ad8e67854695ac836880d46283aa93d1e">pcl::RangeImageBorderExtractor</a>, <a class="el" href="classpcl_1_1_principal_curvatures_estimation.html#a8513183c82e5da7425ccd14885e6506a">pcl::PrincipalCurvaturesEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_p_p_f_r_g_b_region_estimation.html#af86d77fc0cf121273e0a83dcc0ed6e63">pcl::PPFRGBRegionEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_p_p_f_r_g_b_estimation.html#a175feb6e6e97e244aa4328a805b846b0">pcl::PPFRGBEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_p_p_f_estimation.html#afdac2d4d9dfcc7595fff92cb09e8655e">pcl::PPFEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_p_f_h_r_g_b_estimation.html#ac2922334b1f9739e651978cadc391341">pcl::PFHRGBEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_p_f_h_estimation.html#ad8769fa8f306bbde7d617ff4e68c9ffe">pcl::PFHEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_o_u_r_c_v_f_h_estimation.html#a93d8ef40eeb4bd7c655d94b724116147">pcl::OURCVFHEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_normal_estimation_o_m_p.html#a10d83cd67e0d812cf7297bd0c58a1499">pcl::NormalEstimationOMP&lt; PointInT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_normal_estimation.html#ab92b273e74599e5995a892c188314347">pcl::NormalEstimation&lt; PointInT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_normal_estimation.html#ab92b273e74599e5995a892c188314347">pcl::NormalEstimation&lt; PointType, pcl::Normal &gt;</a>, <a class="el" href="classpcl_1_1_narf_descriptor.html#a32ce0fc3f1cf327f89a53ea9147ebdf3">pcl::NarfDescriptor</a>, <a class="el" href="classpcl_1_1_moment_invariants_estimation.html#ad9775c639a9aa634993106119411a0ca">pcl::MomentInvariantsEstimation&lt; PointInT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_linear_least_squares_normal_estimation.html#a986bd938e0a40c117d32b12ef52086a3">pcl::LinearLeastSquaresNormalEstimation&lt; PointInT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_intensity_spin_estimation.html#a8162dc764667efd078f820d7a61e46cb">pcl::IntensitySpinEstimation&lt; PointInT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_intensity_gradient_estimation.html#aaed5c53ef457c46506a506be858e5ddb">pcl::IntensityGradientEstimation&lt; PointInT, PointNT, PointOutT, IntensitySelectorT &gt;</a>, <a class="el" href="classpcl_1_1_integral_image_normal_estimation.html#af72a8687d1eae7bb34ee730ea3f7b5a8">pcl::IntegralImageNormalEstimation&lt; PointInT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_integral_image_normal_estimation.html#af72a8687d1eae7bb34ee730ea3f7b5a8">pcl::IntegralImageNormalEstimation&lt; pcl::PointXYZRGBA, pcl::Normal &gt;</a>, <a class="el" href="classpcl_1_1_g_r_s_d_estimation.html#a577f548f45292b726d4830f8d592c5f6">pcl::GRSDEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_g_f_p_f_h_estimation.html#a6c53dd19045eaef23dfedfaf2f316fa2">pcl::GFPFHEstimation&lt; PointInT, PointLT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_f_p_f_h_estimation_o_m_p.html#ad284052050cd5e80b649fc2e4c39511c">pcl::FPFHEstimationOMP&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_f_p_f_h_estimation.html#a6465bc7973845bbae46e1f4f7ec4ca76">pcl::FPFHEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_f_p_f_h_estimation.html#a6465bc7973845bbae46e1f4f7ec4ca76">pcl::FPFHEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_difference_of_normals_estimation.html#a0c22fd10ccd121777d3b331412e4e0da">pcl::DifferenceOfNormalsEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_c_v_f_h_estimation.html#a253fa1afb8a592e7af807ddd99ec779e">pcl::CVFHEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_c_r_h_estimation.html#a60eed83788289f776b1a8ec1b362b2a4">pcl::CRHEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_c_p_p_f_estimation.html#a0f640eb2ab18aeafd7a6bd589153006d">pcl::CPPFEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_boundary_estimation.html#a6c78e1f7cf69698d2ef0ecedb019c289">pcl::BoundaryEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_shape_context3_d_estimation.html#a8e6b76212b516113b8f6ea0254ecb607">pcl::ShapeContext3DEstimation&lt; PointInT, PointNT, PointOutT &gt;</a>, <a class="el" href="classpcl_1_1_s_h_o_t_color_estimation.html#a0bcbce40ea2c5ed9df98148e62261e49">pcl::SHOTColorEstimation&lt; PointInT, PointNT, PointOutT, PointRFT &gt;</a>, <a class="el" href="classpcl_1_1_s_h_o_t_estimation.html#a0f63f9aa8314e493db68a5ed89ec44f8">pcl::SHOTEstimation&lt; PointInT, PointNT, PointOutT, PointRFT &gt;</a>, <a class="el" href="classpcl_1_1_s_h_o_t_estimation.html#a0f63f9aa8314e493db68a5ed89ec44f8">pcl::SHOTEstimation&lt; PointInT, PointNT, pcl::SHOT352, pcl::ReferenceFrame &gt;</a> , 以及 <a class="el" href="classpcl_1_1_s_h_o_t_color_estimation.html#a0bcbce40ea2c5ed9df98148e62261e49">pcl::SHOTColorEstimation&lt; PointInT, PointNT, pcl::SHOT1344, pcl::ReferenceFrame &gt;</a> 内被实现.</p>

</div>
</div>
<a id="a9422bdfb7074f73019e32d55eeda73bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9422bdfb7074f73019e32d55eeda73bb">&#9670;&nbsp;</a></span>searchForNeighbors() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT , typename PointOutT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classpcl_1_1_feature.html">pcl::Feature</a>&lt; PointInT, PointOutT &gt;::searchForNeighbors </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1_point_cloud.html">PointCloudIn</a> &amp;&#160;</td>
          <td class="paramname"><em>cloud</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>parameter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>indices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>distances</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Search for k-nearest neighbors using the spatial locator from <em>setSearchmethod</em>, and the given surface from <em>setSearchSurface</em>. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cloud</td><td>the query point cloud </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>the index of the query point in <em>cloud</em> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">parameter</td><td>the search parameter (either k or radius) </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">indices</td><td>the resultant vector of indices representing the k-nearest neighbors </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">distances</td><td>the resultant vector of distances representing the distances from the query point to the k-nearest neighbors</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>the number of neighbors found. If no neighbors are found or an error occurred, return 0. </dd></dl>
<div class="fragment"><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;      {</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1_feature.html#af2d27cdd139bd79335008303cf68ba82">search_method_surface_</a> (cloud, index, parameter, indices, distances));</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;      }</div>
<div class="ttc" id="aclasspcl_1_1_feature_html_af2d27cdd139bd79335008303cf68ba82"><div class="ttname"><a href="classpcl_1_1_feature.html#af2d27cdd139bd79335008303cf68ba82">pcl::Feature::search_method_surface_</a></div><div class="ttdeci">SearchMethodSurface search_method_surface_</div><div class="ttdoc">The search method template for points.</div><div class="ttdef"><b>Definition:</b> feature.h:225</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aa7d2ff6f0db4d63a74a3e01ad2b1f9ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7d2ff6f0db4d63a74a3e01ad2b1f9ab">&#9670;&nbsp;</a></span>searchForNeighbors() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT , typename PointOutT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classpcl_1_1_feature.html">pcl::Feature</a>&lt; PointInT, PointOutT &gt;::searchForNeighbors </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>parameter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>indices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; float &gt; &amp;&#160;</td>
          <td class="paramname"><em>distances</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Search for k-nearest neighbors using the spatial locator from <em>setSearchmethod</em>, and the given surface from <em>setSearchSurface</em>. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>the index of the query point </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">parameter</td><td>the search parameter (either k or radius) </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">indices</td><td>the resultant vector of indices representing the k-nearest neighbors </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">distances</td><td>the resultant vector of distances representing the distances from the query point to the k-nearest neighbors</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>the number of neighbors found. If no neighbors are found or an error occurred, return 0. </dd></dl>
<div class="fragment"><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;      {</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;        <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1_feature.html#af2d27cdd139bd79335008303cf68ba82">search_method_surface_</a> (*<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>, index, parameter, indices, distances));</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;      }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a50129bc51cb240eca42df9963f7ac0c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50129bc51cb240eca42df9963f7ac0c0">&#9670;&nbsp;</a></span>setKSearch()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT , typename PointOutT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_feature.html">pcl::Feature</a>&lt; PointInT, PointOutT &gt;::setKSearch </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the number of k nearest neighbors to use for the feature estimation. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the number of k-nearest neighbors </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;{ <a class="code" href="classpcl_1_1_feature.html#a3f68793061ef0973bdacfea56cf5ae21">k_</a> = k; }</div>
<div class="ttc" id="aclasspcl_1_1_feature_html_a3f68793061ef0973bdacfea56cf5ae21"><div class="ttname"><a href="classpcl_1_1_feature.html#a3f68793061ef0973bdacfea56cf5ae21">pcl::Feature::k_</a></div><div class="ttdeci">int k_</div><div class="ttdoc">The number of K nearest neighbors to use for each point.</div><div class="ttdef"><b>Definition:</b> feature.h:242</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a44829319486a2dc415a4e068dc55c577"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44829319486a2dc415a4e068dc55c577">&#9670;&nbsp;</a></span>setRadiusSearch()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT , typename PointOutT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_feature.html">pcl::Feature</a>&lt; PointInT, PointOutT &gt;::setRadiusSearch </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>radius</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the sphere radius that is to be used for determining the nearest neighbors used for the feature estimation. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">radius</td><td>the sphere radius used as the maximum distance to consider a point a neighbor </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;      {</div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        <a class="code" href="classpcl_1_1_feature.html#a2c52e9b0412b8ce790837b24cd99f0af">search_radius_</a> = radius;</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;      }</div>
<div class="ttc" id="aclasspcl_1_1_feature_html_a2c52e9b0412b8ce790837b24cd99f0af"><div class="ttname"><a href="classpcl_1_1_feature.html#a2c52e9b0412b8ce790837b24cd99f0af">pcl::Feature::search_radius_</a></div><div class="ttdeci">double search_radius_</div><div class="ttdoc">The nearest neighbors search radius for each point.</div><div class="ttdef"><b>Definition:</b> feature.h:239</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ace1caca622f06eee8ad1911228324792"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace1caca622f06eee8ad1911228324792">&#9670;&nbsp;</a></span>setSearchMethod()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT , typename PointOutT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_feature.html">pcl::Feature</a>&lt; PointInT, PointOutT &gt;::setSearchMethod </td>
          <td>(</td>
          <td class="paramtype">const KdTreePtr &amp;&#160;</td>
          <td class="paramname"><em>tree</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Provide a pointer to the search object. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">tree</td><td>a pointer to the spatial search object. </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;{ <a class="code" href="classpcl_1_1_feature.html#a7ce882e12198b2b2373cc31ba27b0ef1">tree_</a> = tree; }</div>
<div class="ttc" id="aclasspcl_1_1_feature_html_a7ce882e12198b2b2373cc31ba27b0ef1"><div class="ttname"><a href="classpcl_1_1_feature.html#a7ce882e12198b2b2373cc31ba27b0ef1">pcl::Feature::tree_</a></div><div class="ttdeci">KdTreePtr tree_</div><div class="ttdoc">A pointer to the spatial search object.</div><div class="ttdef"><b>Definition:</b> feature.h:233</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a14fbb05e0e8f1d1ec766a50353f3c224"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14fbb05e0e8f1d1ec766a50353f3c224">&#9670;&nbsp;</a></span>setSearchSurface()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT , typename PointOutT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_feature.html">pcl::Feature</a>&lt; PointInT, PointOutT &gt;::setSearchSurface </td>
          <td>(</td>
          <td class="paramtype">const PointCloudInConstPtr &amp;&#160;</td>
          <td class="paramname"><em>cloud</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Provide a pointer to a dataset to add additional information to estimate the features for every point in the input dataset. This is optional, if this is not set, it will only use the data in the input cloud to estimate the features. This is useful when you only need to compute the features for a downsampled cloud. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cloud</td><td>a pointer to a <a class="el" href="classpcl_1_1_point_cloud.html" title="PointCloud represents the base class in PCL for storing collections of 3D points.">PointCloud</a> message </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;      {</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        <a class="code" href="classpcl_1_1_feature.html#a98f8c497ac78cf49d9274c3ab5fe52df">surface_</a> = cloud;</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        <a class="code" href="classpcl_1_1_feature.html#aa08fc132189062dabfa291701fa46440">fake_surface_</a> = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        <span class="comment">//use_surface_  = true;</span></div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;      }</div>
<div class="ttc" id="aclasspcl_1_1_feature_html_a98f8c497ac78cf49d9274c3ab5fe52df"><div class="ttname"><a href="classpcl_1_1_feature.html#a98f8c497ac78cf49d9274c3ab5fe52df">pcl::Feature::surface_</a></div><div class="ttdeci">PointCloudInConstPtr surface_</div><div class="ttdoc">An input point cloud describing the surface that is to be used for nearest neighbors estimation.</div><div class="ttdef"><b>Definition:</b> feature.h:230</div></div>
<div class="ttc" id="aclasspcl_1_1_feature_html_aa08fc132189062dabfa291701fa46440"><div class="ttname"><a href="classpcl_1_1_feature.html#aa08fc132189062dabfa291701fa46440">pcl::Feature::fake_surface_</a></div><div class="ttdeci">bool fake_surface_</div><div class="ttdoc">If no surface is given, we use the input PointCloud as the surface.</div><div class="ttdef"><b>Definition:</b> feature.h:257</div></div>
</div><!-- fragment -->
</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>features/include/pcl/features/<a class="el" href="feature_8h_source.html">feature.h</a></li>
<li>features/include/pcl/features/impl/<a class="el" href="feature_8hpp_source.html">feature.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>pcl</b></li><li class="navelem"><a class="el" href="classpcl_1_1_feature.html">Feature</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
